
#ifndef _Oz_Mpl_MplParserI_H_
#define _Oz_Mpl_MplParserI_H_

#include <string>
#include <vector>

namespace Oz{
    namespace Mpl{
        class MplParserI{
            public:
            MplParserI();
            virtual ~MplParserI();

            void setInputFiles(const std::vector<std::string>& inputfiles);
            std::vector<std::string> getInputFiles()const;

            void setIncludeDirs(const std::vector<std::string>& includedirs);
            std::vector<std::string> getIncludeDirs()const;

            void setDefinitions(const std::vector<std::string>& definitions);
            std::vector<std::string> getDefinitions()const;

            void setOutputDir(const std::string& outputdir);
            std::string getOutputDir()const;

            std::string parse(const std::string& data);
            private:
            std::vector<std::string> _inputfiles;
            std::vector<std::string> _includedirs;
            std::vector<std::string> _definitions;
            std::string _outputdir;
        };
    }
}
#endif
